package com.fowo.api.model.platformshipping.item;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/**
 * 平台发货单子表 预览导入辅助模型(全字段为文本类型)
 * @author yl_ls
 */
@Getter
@Setter
public class PlatformshippingItemImportPo {

  /** 所属平台仓发货单 */
  @ExcelProperty("所属平台仓发货单")
  private String parentPlatformshippingShipmentCode;

  @ExcelIgnore
  @Schema(title = "所属平台仓发货单")
  private String parentPlatformshipping;

  /** 货件单号 */
  @ExcelProperty("货件单号")
  @Size(max = 50, message = "货件单号长度不能超过50")
  private String cargocode;

  /** 图片 */
  @ExcelProperty("图片")
  @Size(max = 50, message = "图片长度不能超过50")
  private String img;

  /** MSKU */
  @ExcelProperty("MSKU")
  @Size(max = 50, message = "MSKU长度不能超过50")
  private String msku;

  /** GTIN */
  @ExcelProperty("GTIN")
  @Size(max = 50, message = "GTIN长度不能超过50")
  private String gtin;

  /** 品名 */
  @ExcelProperty("品名")
  @Size(max = 500, message = "品名长度不能超过500")
  private String productNameName;

  @ExcelIgnore
  @Schema(title = "品名")
  private String productName;

  /** SKU */
  @ExcelProperty("SKU")
  @Size(max = 50, message = "SKU长度不能超过50")
  private String sku;

  /** 平台 */
  @ExcelProperty("平台")
  @Size(max = 50, message = "平台长度不能超过50")
  private String platformname;

  /** 店铺 */
  @ExcelProperty("店铺")
  @Size(max = 50, message = "店铺长度不能超过50")
  private String shopIdShopName;

  @ExcelIgnore
  @Schema(title = "店铺")
  private String shopId;

  /** 国家 */
  @ExcelProperty("国家")
  @Size(max = 50, message = "国家长度不能超过50")
  private String countryname;

  /** 申报量 */
  @ExcelProperty("申报量")
  @IntegerString(message = "申报量数值格式不正确", label = "申报量")
  private String applynum;

  /** 发货量 */
  @ExcelProperty("发货量")
  @IntegerString(message = "发货量数值格式不正确", label = "发货量", min = 0)
  private String shipmentsnum;

  /** 箱规名称 */
  @ExcelProperty("箱规名称")
  @EnumsString(
    value = { "默认箱规" },
    message = "箱规名称只能是“默认箱规”中的一个"
  )
  private String boxgaugename;

  /** 单箱数量 */
  @ExcelProperty("单箱数量")
  @IntegerString(message = "单箱数量数值格式不正确", label = "单箱数量")
  private String quantityincase;

  /** 箱数 */
  @ExcelProperty("箱数")
  @IntegerString(message = "箱数数值格式不正确", label = "箱数")
  private String boxnum;

  /** 箱规(长) */
  @ExcelProperty("箱规(长)")
  @DecimalString(
    message = "箱规(长)小数格式不正确",
    label = "箱规(长)",
    min = 0
  )
  private String cbmlong;

  /** 箱规(宽) */
  @ExcelProperty("箱规(宽)")
  @DecimalString(
    message = "箱规(宽)小数格式不正确",
    label = "箱规(宽)",
    min = 0
  )
  private String cbmwide;

  /** 箱规(高) */
  @ExcelProperty("箱规(高)")
  @DecimalString(
    message = "箱规(高)小数格式不正确",
    label = "箱规(高)",
    min = 0
  )
  private String cbmtall;

  /** 产品箱规(长) */
  @ExcelProperty("产品箱规(长)")
  @DecimalString(message = "产品箱规(长)小数格式不正确", label = "产品箱规(长)")
  private String specInfolong;

  /** 产品箱规(宽) */
  @ExcelProperty("产品箱规(宽)")
  @DecimalString(
    message = "产品箱规(宽)小数格式不正确",
    label = "产品箱规(宽)",
    min = 0
  )
  private String specInfowide;

  /** 产品箱规(高) */
  @ExcelProperty("产品箱规(高)")
  @DecimalString(
    message = "产品箱规(高)小数格式不正确",
    label = "产品箱规(高)",
    min = 0
  )
  private String specInfotall;

  /** CBM(M3) */
  @ExcelProperty("CBM(M3)")
  @DecimalString(message = "CBM(M3)小数格式不正确", label = "CBM(M3)")
  private String cbm;

  /** 单品净重(g) */
  @ExcelProperty("单品净重(g)")
  @DecimalString(message = "单品净重(g)小数格式不正确", label = "单品净重(g)")
  private String cgproductnetweight;

  /** 单品毛重(g) */
  @ExcelProperty("单品毛重(g)")
  @DecimalString(message = "单品毛重(g)小数格式不正确", label = "单品毛重(g)")
  private String cgproductgrossweight;

  /** 单品重量(kg) */
  @ExcelProperty("单品重量(kg)")
  @DecimalString(message = "单品重量(kg)小数格式不正确", label = "单品重量(kg)")
  private String cgproductweight;

  /** 单箱净重(kg) */
  @ExcelProperty("单箱净重(kg)")
  @DecimalString(message = "单箱净重(kg)小数格式不正确", label = "单箱净重(kg)")
  private String cgboxgrossweight;

  /** 单箱毛重(kg) */
  @ExcelProperty("单箱毛重(kg)")
  @DecimalString(message = "单箱毛重(kg)小数格式不正确", label = "单箱毛重(kg)")
  private String boxgrossweight;

  /** 体积重 */
  @ExcelProperty("体积重")
  @DecimalString(message = "体积重小数格式不正确", label = "体积重")
  private String volumeweight;

  /** 总净重 */
  @ExcelProperty("总净重")
  @DecimalString(message = "总净重小数格式不正确", label = "总净重")
  private String totalnw;

  /** 总毛重 */
  @ExcelProperty("总毛重")
  @DecimalString(message = "总毛重小数格式不正确", label = "总毛重")
  private String totalgw;

  /** 税费 */
  @ExcelProperty("税费")
  @DecimalString(message = "税费小数格式不正确", label = "税费")
  private String pertax;

  /** 发货仓库店铺 */
  @ExcelProperty("发货仓库店铺")
  @Size(max = 50, message = "发货仓库店铺长度不能超过50")
  private String shippingwarehousestoreShopName;

  @ExcelIgnore
  @Schema(title = "发货仓库店铺")
  private String shippingwarehousestore;

  /** 备注 */
  @ExcelProperty("备注")
  @Size(max = 50, message = "备注长度不能超过50")
  private String remarks;

  /** fnsku */
  @ExcelProperty("fnsku")
  @Size(max = 50, message = "fnsku长度不能超过50")
  private String fnsku;

  /** 仓位 */
  @ExcelProperty("仓位")
  @LongString(message = "仓位数值格式不正确", label = "仓位")
  private String binid;
}
